<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Task: Establish Change Control Process</title>
<meta name="uma.type" content="Task">
<meta name="uma.name" content="establish_project_change_control_process">
<meta name="uma.presentationName" content="Establish Change Control Process">
<meta name="uma.category" content="Discipline:rup_config_and_change_manage_discipline:配置与变更管理">
<meta name="element_type" content="activity">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo, '', true, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top">
<div id="page-guid" value="{0A40D5A0-2119-4D42-9B35-72D9B42BB4FA}"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Task: Establish Change Control Process</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/task.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This task defines how to create a Change Control Process.</td>
</tr>
<tr>
<td>Disciplines: <a href="./../../rup/disciplines/rup_config_and_change_manage_discipline_CC612E7A.html" guid="_yeA1xNnmEdmO6L4XMImrsA">配置与变更管理</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Purpose</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><a id="Top" name="Top"></a><a key="配置管理（configuration management）" text="建立配置管理方法" name="XE_configuration_management__establishing_configuration_management_practices" id="XE_configuration_management__establishing_configuration_management_practices" class="index"></a> 
<p>
    The purpose of having standard, documented change control processes is to ensure that changes are made within a project
    in a consistent manner and the appropriate stakeholders are informed of the state of the product, changes to it and the
    cost and schedule impact of these changes.
</p></td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Roles</th><td class="sectionTableCell" width="42%"><span class="sectionTableCellHeading">Primary Performer:
								</span>
<ul>
<li>
<a href="./../../rup/roles/rup_change_manager_51E43456.html" guid="{C1D3C2C0-15A0-49AD-9788-8C163E53CB96}">变更控制管理员</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">Additional Performers:
								</span></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Inputs</th><td class="sectionTableCell" width="42%"><span class="sectionTableCellHeading">Mandatory:
								</span>
<ul>
<li>
<a href="./../../rup/workproducts/rup_project_plan_D89CA030.html" guid="{D77D6716-B167-4643-A4B6-6F76C7769A80}">软件开发计划</a>
</li>
</ul>
<ul></ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">Optional:
								</span>
<ul>
<li>
<a href="./../../rup/workproducts/rup_development_infrastructure_21BD206E.html" guid="{A40A3A6E-A090-46B4-B2FE-5F1AC36F010B}">开发基础结构</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_development_process_A6449790.html" guid="{345D1811-317B-47EC-AC9D-10E1072A7D68}">开发流程</a>
</li>
<li>
<a href="./../../rup/workproducts/rup_cm_plan_EDA7C715.html" guid="{71138CAE-59CA-41DE-8DD1-BE11799566FD}">配置管理计划</a>
</li>
</ul>
<ul></ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Outputs</th><td class="sectionTableCell" colspan="2">
<ul>
<li>
<a href="./../../rup/workproducts/rup_cm_plan_EDA7C715.html" guid="{71138CAE-59CA-41DE-8DD1-BE11799566FD}">配置管理计划</a>
</li>
</ul>
<ul></ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Steps</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="sectionTableSingleCell">
<div class="stepHeading"> Establish the Change Request Process </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="Establish the Change Request Process" name="Establish the Change Request Process"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      cellspacing="0" bordercolordark="#808080" cellpadding="4" width="100%" bordercolorlight="#808080" border="1">
        <tbody>
            <tr>
                <td>
                    <b>Purpose:</b>&nbsp; Change Control procedures ensure that proposed changes to a system are assessed
                    and applied in a consistent controlled manner.&nbsp;
                </td>
            </tr>
            <tr>
                <td>
                    <b>Substeps</b> 
                    <ul>
                        <li>
                            <a href="#Complete Change Request Form">Complete Change Request Form</a>
                        </li>
                        <li>
                            <a href="#Analyze the Change Request">Analyze the Change Request</a>
                        </li>
                        <li>
                            <a href="#Assess Cost of Change Request">Assess Cost of Change Request</a>
                        </li>
                        <li>
                            <a href="#Apply the Change Request">Apply the Change Request</a>
                        </li>
                        <li>
                            <a href="#Maintain the Change History">Maintain the Change History</a>
                        </li>
                    </ul>
                </td>
            </tr>
            <tr>
                <td>
                    <b>Tool Mentors</b> 
                    <ul>
                        <li>
                            <a class="elementLink" href="./../../rup/guidances/toolmentors/submit_change_request_form_4C353A19.html" guid="{5B77C491-E5E9-4BE3-86BD-E4C8A82F8E32}">使用 Rational ClearQuest 提交变更请求</a>
                        </li>
                        <li>
                            <a class="elementLink" href="./../../rup/guidances/toolmentors/establish_cr_process_57610929.html" guid="{E4642FD8-78AE-4DC9-9497-5BCD7428E099}">使用 Rational ClearQuest 建立变更请求流程</a>
                        </li>
                    </ul>
                </td>
            </tr>
            <tr>
                <td>
                    <b>More Information:&nbsp;</b><a class="elementLinkWithUserText" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305">Concept: Change Requests Management</a>&nbsp;
                </td>
            </tr>
        </tbody>
    </table><br />
</div>
<p>
    A typical procedure for <a class="elementLinkWithUserText" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305">handling
    Change Requests</a> is shown in the following activity diagram. (Click anywhere on the diagram to go to a complete
    description of <a class="elementLinkWithType" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305">Concept: 变更请求管理</a>)
</p>
<h4>
    <a id="Sample Activities for Managing CRs" name="Sample Activities for Managing CRs">Sample Tasks for Managing
    CRs</a>&nbsp;<a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p align="center">
    <map id="FPMap0" name="FPMap0">
        <area shape="rect" alt="Concepts: Change Request Management" coords="1,1,691,490" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305"></area>
    </map><img height="491" alt="CR process flow between the Submitter, the CCB, an Assigned Worker, and a Tester."     src="./../../rup/guidances/concepts/resources/crm_actd.gif" width="692" usemap="#fpmap0" border="0" />
</p>
<h4>
    <a id="Complete Change Request Form" name="Complete Change Request Form">Complete Change Request Form</a> <a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    The Change Request Form is a formally submitted artifact that is used to track all requests (including new features,
    enhancement requests, defects, changed requirements, etc.). This should include related status information throughout
    the project lifecycle. All change history will be maintained with the CR, including all state changes along with dates
    and reasons for the change. This information will be available for any repeat reviews and for final closing. An example
    Change Request Form is provided in <a class="elementLinkWithUserText" href="./../../rup/workproducts/rup_change_request_F2E6419.html" guid="{694A7BC8-3D20-4172-BC56-6C7BD4590BA5}">Work
    Product: Change Requests</a>.
</p>
<p>
    Typical states that a Change Request may pass through are shown in the following state diagram. (Click anywhere on the
    diagram to go to a complete description of <a class="elementLinkWithType" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305">Concept: 变更请求管理</a>)
</p>
<h4>
    <a id="Sample States and Transitions for a CR" name="Sample States and Transitions for a CR">Sample States and
    Transitions for a CR</a> <a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p align="center">
    <map id="FPMap1" name="FPMap1">
        <area shape="rect" alt="Concepts: Change Request Management" coords="2,1,548,460" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305"></area>
    </map><img height="461"     alt="Process flow for a new CR as it goes from being submitted to closed. Possible states include Submitted, Postponed, Opened, Rejected, Assigned, Resolved, and Verified."      src="./../../rup/guidances/concepts/resources/crm_stat.gif" width="549" usemap="#fpmap1" border="0" />
</p>
<h4>
    <a id="Analyze the Change Request" name="Analyze the Change Request">Analyze the Change Request</a> <a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    Once a Change Request is submitted, it is analyzed to ensure that it is indeed valid, and that appropriate technical
    and management staff get to review to the Change Request to assess its validity. Change Requests need to be reviewed at
    various levels within the development team. A team leader will often review and approve Change Requests submitted by
    any of his staff. If, however, the scope of a change is beyond the responsibilities of the team it is escalated for the
    next level of review. If the impact of the change spans several different development teams, it is reviewed by the
    Change Control Board. In the Neusoft Unified Process, the Change Control Manager role is used to represent the role of
    the Change Control Board (CCB).
</p>
<p>
    Occasionally, a reported system malfunction may be due more to its usage rather than being linked to system
    implementation. It might also be the case that the 'problem' has already been reported and is being addressed.
</p>
<p>
    The outcome of the analysis step is either to accept the Change Request or to reject it on the basis that it is
    invalid, duplicate or 'out of scope' given the current project vision or mandate.
</p>
<h4>
    <a id="Assess Cost of Change Request" name="Assess Cost of Change Request">Assess Cost of Change Request</a> <a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    For valid changes, the next step is to assess and cost the change based on the impact it has on the overall system, and
    how easily it can be implemented.
</p>
<p>
    Input from the costing step is provided to the CCB for assessment. The CCB reviews the Change Request and its impact
    from a strategic, organizational as well as the technical point of view. The CCB has to decide whether the Change
    Request can be economically justified.
</p>
<h4>
    <a id="Apply the Change Request" name="Apply the Change Request">Apply the Change Request</a> <a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    Once a Change Request has been approved it can be applied to the software. The revised software then undergoes quality
    assurance checks to make sure that changes were made in accordance with project adopted practices, and that it does not
    adversely affect other parts of the existing software.
</p>
<p>
    Once the changes have been made the new version of the software is verified in a test build of the product and then
    incorporated into and verified in a 'release' version of the overall software.
</p>
<h4>
    <a id="Maintain the Change History" name="Maintain the Change History">Maintain the Change History</a> <a href="#Establish the Change Request Process"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    As software changes are made, it is important that a record of all of the changes is maintained.
</p>
<p>
    An effective way to maintain a change history is at the beginning of each software component, and within the change
    requests.
</p>
<p>
    An example of the kind of change data to maintain in a component header could be the following:
</p>
<blockquote>
    <p>
        <u>Modification History</u>
    </p>
</blockquote>
<blockquote>
    <p>
        Version Modifier Date Change Reason
    </p>
    <p>
        1.1 Bruce Bogtrotter 98.05.01 Test Ranges CR#232
    </p>
    <p>
        1.2 Maria Mussolini 98.06.02 Requirements CR#454
    </p>
</blockquote></td>
</tr>
</table>
</div>
<div class="stepHeading"> Establish the Change Control Board </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="Establish the Change Control Board" name="Establish the Change Control Board"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      cellspacing="0" bordercolordark="#808080" cellpadding="4" width="100%" bordercolorlight="#808080" border="1">
        <tbody>
            <tr>
                <td width="5%">
                    <b>Purpose</b>
                </td>
                <td width="95%">
                    To establish a 'Change Control Board (CCB)' that will approve all changes to baselined configuration
                    items. The purpose of the team is to ensure that all proposed changes receive appropriate technical
                    analysis and review, and are documented for tracking and auditing purposes.&nbsp;
                </td>
            </tr>
            <tr>
                <td>
                    <b>Substeps</b> 
                    <ul>
                        <li>
                            <a href="#Select Members">Select Members</a>
                        </li>
                        <li>
                            <a href="#Appoint CCB Chair">Appoint CCB Chair</a>
                        </li>
                        <li>
                            <a href="#Meet to Assess Change Proposals">Meet to Assess Change Proposals</a>
                        </li>
                    </ul>
                </td>
            </tr>
        </tbody>
    </table><br />
</div>
<p>
    The CCB meets on a regular, and as required basis.
</p>
<p>
    The basic tasks of the CCB are to declare product baselines, and review changes to the baseline, and approve,
    disapprove, or defer their implementation.
</p>
<h4>
    <a id="Select Members" name="Select Members">Select Members</a> <a href="#Establish the Change Control Board"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    The purpose of this step is to set up a CCB that consists of the 'right people' with real authority amongst their
    peers, and sufficient expertise to avert unwise or costly change proposals. The CCB needs to be composed of
    representatives from all affected organizations or stakeholders such as:
</p>
<ul>
    <li>
        Users
    </li>
    <li>
        Developers
    </li>
    <li>
        Test Group
    </li>
    <li>
        Project Management
    </li>
</ul>
<h4>
    <a id="Appoint CCB Chair" name="Appoint CCB Chair">Appoint CCB Chair</a> <a href="#Establish the Change Control Board"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    The chair of the CCB must be from the Project Management office. The chair should be able to unambiguously resolve
    conflicts within the team, and enforce the team's decisions on the project.
</p>
<p>
    Decisions by the CCB should be reached by consensus whenever possible. The group dynamic reflects the cooperative
    nature of the development project. The role of the chair is to nurture this cooperative vision, and take unilateral
    action if necessary.
</p>
<h4>
    <a id="Meet to Assess Change Proposals" name="Meet to Assess Change Proposals">Meet to Assess Change Proposals</a> <a href="#Establish the Change Control Board"><img height="20" alt="top of page"     src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    The CCB must meet on a regular, and an as required, basis to ensure that Change Proposals are reviewed and
    dispositioned in a timely manner. The development team must see this group as a reliable body for the resolution of
    issues that could otherwise deadlock progress on the project.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> Define Change Review Notification Protocols </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="Define Change Review Notification Protocols" name="Define Change Review Notification Protocols"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      cellspacing="0" bordercolordark="#808080" cellpadding="4" width="100%" bordercolorlight="#808080" border="1">
        <tbody>
            <tr>
                <td width="5%">
                    <b>Purpose</b>
                </td>
                <td width="95%">
                    The purpose of the change review notification protocols is to ensure that appropriate members of staff
                    are notified when Change Requests are submitted.<br />
                    Decide who should review various work products.&nbsp;
                </td>
            </tr>
            <tr>
                <td>
                    <b>Tool Mentors:&nbsp;</b>
                </td>
                <td>
                    <a class="elementLinkWithUserText" href="./../../rup/guidances/toolmentors/define_change_review_notifications_C7510E4.html" guid="{F6EC9AC7-18D5-44D1-9EB7-39BC3DF4F2D2}">Define Change and Review Notifications Using Rational
                    ClearQuest</a>
                </td>
            </tr>
        </tbody>
    </table><br />
</div>
<p>
    Input to this step is the list of work products to be developed during the course of the project.
</p>
<p>
    Members of staff need to review product related work products to decide on whether they meet defined project quality
    standards to be passed on to the next stage of development. If a product fails a review, it is subject to re-work,
    change and re-review.
</p>
<p>
    For a review to be 'effective' the product has to be assessed by the right people who understand the scope and impact
    of a proposed change or enhancement. Furthermore, reviews need to be 'cost effective' such that staff time of key
    implementers and integrators is not being wasted on yielding 'low impact' defects.
</p>
<p>
    Members of staff who need to be involved in a review are representatives from the 'product' producer, recipient and
    management sides. This is to ensure that all stakeholders with a vested interest in the product quality can decide on
    whether the product can progress to the next level of development.
</p>
<p>
    In team environment, the overall project is broken down into activities. Activities are allocated to responsible
    individuals for implementation and integration. For example, the overall system is divided into subsystems, and then
    into individual packages. Team members responsible for implementing a package need to be sure that their changes are
    reviewed by peers within the subsystem, and anyone else in other subsystems who may be impacted by the changes.
</p>
<p>
    The review and change notification principle is to communicate to peers and team leaders, and recipients of the
    proposed changes, and to give them an opportunity to review and comment on the proposals.
</p>
<p>
    Further guidance on this subject is provided in <a class="elementLinkWithType" href="./../../rup/guidances/concepts/change_request_management_119F2E47.html" guid="5.975934904188119E-305">Concept: 变更请求管理</a>.
</p>
<p>
    <br />
    &nbsp;
</p></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">More Information</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Tool Mentors</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../rup/guidances/toolmentors/check_out_check_in_203CEEC2.html" guid="{3D4CC908-5E3C-48C5-99F6-D4137834D9A4}">使用 Rational ClearCase 检出和检入配置项</a>
</li>
<li>
<a href="./../../rup/guidances/toolmentors/define_change_review_notifications_C7510E4.html" guid="{F6EC9AC7-18D5-44D1-9EB7-39BC3DF4F2D2}">使用 Rational ClearQuest 定义变更和评审通知</a>
</li>
<li>
<a href="./../../rup/guidances/toolmentors/establish_cr_process_57610929.html" guid="{E4642FD8-78AE-4DC9-9497-5BCD7428E099}">使用 Rational ClearQuest 建立变更请求流程</a>
</li>
<li>
<a href="./../../rup/guidances/toolmentors/submit_change_request_form_4C353A19.html" guid="{5B77C491-E5E9-4BE3-86BD-E4C8A82F8E32}">使用 Rational ClearQuest 提交变更请求</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
